| Description | Workbench Selection | Syntax |
| Semantic element associated to a graphical element | A diagram / A diagram element | <% current.target %> |
| aird file (non fragmented model) | A diagram | <% ((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize()) %> |
| All aird files (fragmented model) | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]) %> |
| All diagrams | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.ownedRepresentationDescriptors %> |
| Number of diagrams | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.ownedRepresentationDescriptors.nSize() %> |
| All diagrams from kind "Logical Data Flow" | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.ownedRepresentationDescriptors[description.name.startsWith("Logical Data Flow Blank")]%> |
| All diagrams except kind "Scenario" | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.ownedRepresentationDescriptors[description.name.endsWith("Scenario")==false] %> |
| List of different viewpoints | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.viewpoint.nMinimize() %> |
| Number of graphical elements in all diagrams | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.ownedRepresentationDescriptors.representation.diagramElements.nSize() %> |
| Number of graphical elements in all diagrams (including technical elements like style, color…) | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.ownedRepresentationDescriptors.representation.eAllContents.nSize() %> |
| Description | Workbench Selection | Syntax |
| All element containing the "TODO" string in their 'Name' property | A model element | <% current.eAllContents()[name.matches(".*TODO.*")] %> |
| All element containing the "TODO" string in their 'Summary' property | A model element | <% current.eAllContents()[summary.matches(".*TODO.*")] %> |
| All element containing the "TODO" string in their 'Description' property | A model element | <% current.eAllContents()[description.matches(".*TODO.*")] %> |
| All diagrams containing a note containing the "TODO" string | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.ownedRepresentationDescriptors.representation[~element.filter("notation.Diagram").eAllContents("notation.Node")[type=="Note" && description.indexOf("TODO")>=0]] %> |
| Number of diagrams containing a note containing the "TODO" string | A diagram | <% (((current+current.~).ancestor[eClass.name=="DAnalysis"].nMinimize().put("aird") + (get("aird")+get("aird").~+get("aird").~.~+get("aird").~.~).put("airds") + get("airds")+get("airds").referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis+get("airds").referencedAnalysis.referencedAnalysis.referencedAnalysis).nMinimize()[eClass.name=="DAnalysis"]).ownedViews.ownedRepresentationDescriptors.representation[~element.filter("notation.Diagram").eAllContents("notation.Node")[type=="Note" && description.indexOf("TODO")>=0]].nSize() %> |
| Description | Workbench Selection | Syntax |
| Number of XXXX owned by the selected element, where XXXX is the type of a model element (<% current.eClass %> ) | A model element | <% current.eAllContents("XXXX").nSize() %> |
| Number of Operational Activities | OperationalAnalysis | <% current.eAllContents("OperationalActivity").nSize() %> |
| Number of Operational Interactions | OperationalAnalysis | <% current.eAllContents("FunctionalExchange").nSize() %> |
| Number of Exchange Items in OA | OperationalAnalysis | <% current.eAllContents("AbstractExchangeItem").nSize() %> |
| Number of Types (Classes, Datatypes) in OA | OperationalAnalysis | <% current.eAllContents("DataType").nSize() %> |
| Number of Classes in OA | OperationalAnalysis | <% current.eAllContents("Class").nSize() %> |
| Number of States or Modes in OA | OperationalAnalysis | <% (current.eAllContents().filter("State") - current.eAllContents().filter("Mode")).nSize() %> |
| Number of Operational Entities | OperationalAnalysis | <% (current.eAllContents("Entity")-current.eAllContents("OperationalActor")).nSize() %> |
| Number of Operational Actors | OperationalAnalysis | <% current.eAllContents("OperationalActor").nSize() %> |
| Number of Operational Roles | OperationalAnalysis | <% current.eAllContents("Role").nSize() %> |
| Number of Communication Means | OperationalAnalysis | <% current.eAllContents("CommunicationMean").nSize() %> |
| Number of System Functions | SystemAnalysis | <% current.eAllContents("SystemFunction").nSize() %> |
| Number of Functional Exchanges in SA | SystemAnalysis | <% current.eAllContents("FunctionalExchange").nSize() %> |
| Number of Function Ports in SA | SystemAnalysis | <% current.eAllContents().filter("FunctionPort").nSize %> |
| Number of System Actors | SystemAnalysis | <% current.eAllContents("Actor").nSize() %> |
| Number of Functional Chains in SA | SystemAnalysis | <% current.eAllContents("FunctionalChain").nSize() %> |
| Number of Scenarios in SA | SystemAnalysis | <% current.eAllContents("Scenario").nSize() %> |
| Number of Behaviour Components in PA | PhysicalArchitecture | <% current.eAllContents("PhysicalComponent")[nature=="BEHAVIOR"].nSize %> |
| Number of Implementation PC (nodes) in PA | PhysicalArchitecture | <% current.eAllContents("PhysicalComponent")[nature=="NODE"].nSize %> |
| Number of Physical Links | PhysicalArchitecture | <% current.eAllContents("PhysicalLink").nSize() %> |
| Number of Physical Ports | PhysicalArchitecture | <% current.eAllContents("PhysicalPort").nSize() %> |
With Acceleo, you can navigate in elements following references and attributes:
<%current.outgoing%> on a SystemFunction will retrieve outgoing functional exchanges:

There is many way to retrieve which references to use for an element. These references ca be used in a request like the above outgoing reference.
For instance, you can retrieve references with Acceleo using the following request:
<%current.eClass.eAllReferences%> (or current.eClass.eAllAttributes to retrieve attributes)

One easiest way to retrieve references or attributes is to open the Properties View and go the Expert tab then choose relevant references/attributes for your query

You just have to write the reference name in a camelCaseFormat to use it with Acceleo (e.g. Available In States => availableInStates)